1. Field
Embodiments relate to integrated circuits. In particular, embodiments relate to integrated circuits having Physically Unclonable Functions (PUFs).
2. Background Information
Computers, cell phones, multimedia content players, and various other types of electronic devices, are commonly used to handle sensitive or secure information (e.g., financial information, confidential documents, personal emails, digital rights protected content, etc.). Integrated circuits used in such electronic devices are commonly provisioned with one or more secrets, such as one or more secure keys, that are used to protect the sensitive or secure information. The secure keys may be used to protect the sensitive or secure information in various ways, such as through encryption/decryption, authentication, digital signatures, and other known cryptographic approaches.
One way to provision the integrated circuits with the secure keys is to program or store the secure keys in fuses and/or memory (e.g., various types of read-only memory (ROM)) in a digital form. However, one drawback with such an approach is that the secure keys stored in the memory and/or fuses in digital form tend to be somewhat vulnerable to discovery. Although the secure keys generally cannot be read out directly, invasive attacks and/or reverse engineering may be used to obtain the secure keys. Allowing the secure keys to be obtained may breach, or at least contribute to breaching, the security of the sensitive information. Additionally, such provisioning of secret cryptographic keys oven means that they are exposed to some part of a manufacturer's key generation, device design, and manufacturing infrastructures.
Physically Unclonable Functions (PUFs) provide an alternative to storing secure keys in memory and/or fuses in digital form. One advantage to the use of PUFs for security is that the PUFs tend to be significantly less vulnerable to discovery than the secure keys stored in memory and/or fuses in digital form. The PUFs may be used to generate PUF bits during runtime which may be used for security. The PUFs bits are typically characterized by a PUF bit error level and a PUF bit entropy level.